<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        class Request {
            // 静态属性
            static host = "https://www.baidu.com"; // 提供给所有对象公共使用的 就使用静态属性
            api(url) {
                return Request.host + `/${url}`;
            }
            show() {
                console.log('原型方法 show')
            }
            static show = function () {
                console.log('静态方法 show')
            }
        }
        console.dir(Request)
        let obj = new Request();
        console.log(obj.api('article')); // https://www.baidu.com/article

        obj.show(); // 原型方法调用方式
        Request.show(); // 静态方法调用方式

        class User {
            constructor(name, age) {
                this.name = name;
                this.age = age;
            }
            // 使用静态方法创建对象
            static create(...args) {
                return new this(...args); // this=>User
            }
        }
        
        let user = User.create('张三', 20); // 使用静态方法创建
        console.log(user)
        let user1 = new User('李思', 30); // 使用new对象创建
        console.log(user1)
    </script>
</body>

</html>